package Vue;



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */


/**
 *
 * @author Taupe
 */
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;

import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Observable;
import java.util.Observer;
import javax.swing.BorderFactory;
import javax.swing.JButton;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JMenu;

import javax.swing.border.Border;
import javax.swing.plaf.basic.BasicComboBoxUI.ItemHandler;

public class Vue extends JFrame implements Observer {
    
    protected Grille grilleModele;
    protected JMenuBar jm;
    protected JMenu m;
    protected JMenuItem mi;
    protected JButton bPlay;
    protected JButton bPause;
    protected JPanel planPrincipal;
    protected JPanel planBoutons;
  
    
    public Vue() {
        super();
        
        build();
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent arg0) {
                super.windowClosing(arg0);
                System.exit(0);
            }
        });
     
        
}
     public void build() {
        
        //JMenu jm = new JMenu();
        grilleModele = new Grille();
        jm = new JMenuBar();
        m = new JMenu("Jeu");
        mi = new JMenuItem("Partie");
       
        // Les boutons
        bPlay = new JButton("Play");//Création d'un boutton Play
        bPause = new JButton("Pause");//Création d'un boutton Pause
        
        //ItemListener i = new Item
        m.add(mi); 
        jm.add(m);     
        setJMenuBar(jm);   
        setTitle("Ma première fenêtre");
        setSize(400, 400);
        
        // ****************************************************
        // *****      Initialisation des différents       *****
        // *****               plan du jeu                *****
        // ****************************************************
        
        planPrincipal = new JPanel (new BorderLayout(40,40)); // Création d'un plan principal ou on mettra en place la grille
        planBoutons  = new JPanel (new GridLayout(5,1,5,5)); // Création du plan des boutons 
        //grilleVu = new JPanel (new GridLayout(10,10)); // Grille de jeu de 10x10
        JComponent grilleVue = new JPanel(new GridLayout(10, 10)); // Grille de jeu de 10x10
        grilleVue.setName("grille");
        
        Border blackline = BorderFactory.createLineBorder(Color.black,1); //Création d'une couleur de bordure (NOIR)
        Border blueline = BorderFactory.createLineBorder(Color.blue,1); //Création d'une couleur de bordure (BLEU)
        Border pinkline = BorderFactory.createLineBorder(Color.pink,1); //Création d'une couleur de bordure (ROSE)

        for (int i = 0; i < 10; i++) {
            for (int j = 0; j < 10; j++) {
                // On met sur la grilleVue, la GrilleModele qu'on à crée en haut
                grilleModele.grille[i][j].setBorder(blackline);
                grilleVue.add(grilleModele.grille[i][j]);

            }

        }
 
        grilleVue.setName("GrilleDeCellules");
  
   
        // ****************************************************
        // ***** Initialisation des couleurs des bordures *****
        // ****************************************************
        
        planPrincipal.setBorder(blueline);
        planBoutons.setBorder(pinkline);
        
        // ****************************************************
        // *****   Mise en place des différents boutons   *****
        // *****        dans la grille des boutons        *****
        // ****************************************************
        
        planBoutons.add(bPlay); // Ajout du bouton PLAY dans le planBouton
        planBoutons.add(bPause); // Ajout du bouton PAUSE dans le planBouton
        
        // ****************************************************
        // *****    Mise en place des différents plans    *****
        // *****       dans la grille principale          *****
        // ****************************************************
        
        
        add(planPrincipal); // Ajout du plan principal
        //planPrincipal.add(grilleVu,BorderLayout.CENTER); // Mise en place de la grille au centre du plan principal
        planPrincipal.add(grilleVue,BorderLayout.CENTER); 
        //planPrincipal.add(planBoutons,BorderLayout.EAST); // Mise en place du plan des boutons à l'est du plan principal
        //setContentPane(pan);

       
        
        
        
    }

    @Override
    public void update(Observable o, Object o1) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

}